// import Pool from './base/pool';

// let instance;
 
/**
 * 全局状态管理器
 * 负责管理游戏的状态，包括帧数、分数、子弹、敌人和动画等
 */
export default class DataBus {
  // 直接在类中定义实例属性
  // enemys = []; // 存储敌人
  // bullets = []; // 存储子弹
  // animations = []; // 存储动画
  // frame = 0; // 当前帧数
  // score = 0; // 当前分数
// 游戏状态管理
  gameState="home";
  isMusicOn = true; // 背景音乐开启关闭
  // pool = new Pool(); // 初始化对象池
  // 首页图片
  resources = {
  	homeBg: null,
  	gameBg: null
  };
  // 游戏计数
  numberGame = {
  	clickedCount: 0,//找不同当前数量
  	totalSpots: 5,//总数量
  	totalError: 0//失败次数
  };

  constructor() {
    // // 确保单例模式
    // if (instance) return instance;

    // instance = this;
  }

  // 重置游戏状态
  reset() {
    this.isMusicOn = true; // 背景音乐开启关闭
    // this.score = 0; // 当前分数
    // this.bullets = []; // 存储子弹
    // this.enemys = []; // 存储敌人
    // this.animations = []; // 存储动画
    // this.isGameOver = false; // 游戏是否结束
  }

  // 游戏结束
  gameOver() {
    this.isGameOver = true;
  }

  // /**
  //  * 回收敌人，进入对象池
  //  * 此后不进入帧循环
  //  * @param {Object} enemy - 要回收的敌人对象
  //  */
  // removeEnemy(enemy) {
  //   const temp = this.enemys.splice(this.enemys.indexOf(enemy), 1);
  //   if (temp) {
  //     // this.pool.recover('enemy', enemy); // 回收敌人到对象池
  //   }
  // }

  // /**
  //  * 回收子弹，进入对象池
  //  * 此后不进入帧循环
  //  * @param {Object} bullet - 要回收的子弹对象
  //  */
  // removeBullets(bullet) {
  //   const temp = this.bullets.splice(this.bullets.indexOf(bullet), 1);
  //   if (temp) {
  //     // this.pool.recover('bullet', bullet); // 回收子弹到对象池
  //   }
  // }
}
